import { getToken } from "@/libs/auth";

// 全局state对象，解决vuex刷新数据丢失问题，结合App.vue中的监听刷新事件
const state = sessionStorage.getItem('state') ? JSON.parse(sessionStorage.getItem('state')) : {
    /**
     * ///////////////////////////////////////////////////////////////
     * 侧边栏、面包屑、导航相关
     * ///////////////////////////////////////////////////////////////
     */
    // 侧边栏收起或展开
    collapseSidebar: false,
    // 标签导航
    tagNavList: [],
    // 面包屑导航
    breadCrumbList: [],
    breadCrumbHomeRoute: {
        name: 'index',
        to: '',
        meta: { title: '首页' }
    },
    homeRoute: null,

    /**
     * ///////////////////////////////////////////////////////////////
     * 用户登录状态相关
     * ///////////////////////////////////////////////////////////////
     */
    token: getToken(),
    user: null,
    isAdmin: false,
    roles: [],
    permissions: [],
    access: []
}

export default state
